﻿<?xml version="1.0" encoding="utf-8"?>

<xsd:schema
    targetNamespace="http://metalx.org/i386/Functions/Catalog"
    elementFormDefault="qualified"
    xmlns="http://metalx.org/x86/Console32/Functions"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	
	<xsd:element name="Create">
		<xsd:annotation>
			<xsd:documentation>
				Creates a new object catalog.
				
				Output:
				DI=Address
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType/>
	</xsd:element>

	<xsd:element name="GetObjects">
		<xsd:annotation>
			<xsd:documentation>
				Gets the collection of objects in this catalog.
				
				Input:
				SI=Catalog
				
				Output:
				SI=Objects
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType/>
	</xsd:element>

	<xsd:element name="GetIndexes">
		<xsd:annotation>
			<xsd:documentation>
				Gets the collection of indexes in this catalog.

				Input:
				SI=Catalog
				
				Output:
				SI=Indexes
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType/>
	</xsd:element>

	<xsd:element name="FindClass">
		<xsd:annotation>
			<xsd:documentation>
				Gets a class by local name.

				Input:
				SI=Catalog
				DI=Name

				Output:
				SI=Class

				Modifies: CX DX
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType/>
	</xsd:element>

	<xsd:element name="FindType">
		<xsd:annotation>
			<xsd:documentation>
				Gets a class by universal namespace.

				Input:
				SI=Catalog
				DI=Type

				Output:
				SI=Class
				
				Modifies: CX DX
			</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType/>
	</xsd:element>

</xsd:schema>
